import layoutHeaderAside from '@/layout/header-aside'

// 由于懒加载页面太多的话会造成webpack热更新太慢，所以开发环境不使用懒加载，只有生产环境使用懒加载
const _import = require('@/libs/util.import.' + process.env.NODE_ENV)

/**
 * 在主框架内显示
 */
let frameIn = [
  {
    path: '/',
    redirect: { name: 'index' },
    component: layoutHeaderAside,
    children: [
      // 首页
      {
        path: 'index',
        name: 'index',
        meta: { auth: true },
        component: _import('system/index'),
        componentUrl: 'system/index'
      },
      // {
      //   path: 'pduModify',
      //   name: 'pduModify',
      //   meta: { title: 'PDU编辑', auth: true },
      //   component: _import('pdu/modify')
      // },
      // {
      //   path: 'pduShow',
      //   name: 'pduShow',
      //   meta: { title: 'PDU展示', auth: true },
      //   component: _import('pdu/show')
      // },
      // {
      //   path: '/pdu/intime',
      //   name: 'pduintime',
      //   meta: {
      //     title: 'pdu监测',
      //     auth: true
      //   },
      //   component: _import('pdu/inTime')
      // },
      // {
      //   path: 'power/type',
      //   name: 'powertype',
      //   meta: {
      //     title: '分项用能',
      //     auth: true
      //   },
      //   component: _import('power/type')
      // },
      // {
      //   path: 'power/area',
      //   name: 'powerarea',
      //   meta: {
      //     title: '区域用能',
      //     auth: true
      //   },
      //   component: _import('power/area')
      // },
      // {
      //   path: 'power/device',
      //   name: 'powerdevice',
      //   meta: {
      //     title: '设备能耗',
      //     auth: true
      //   },
      //   component: _import('power/device')
      // },
      // {
      //   path: 'power/ecsquotainfo',
      //   name: 'powerecsquotainfo',
      //   meta: {
      //     title: '预警指标',
      //     auth: true
      //   },
      //   component: _import('power/ecsquotainfo')
      // },
      // {
      //   path: 'alarm/device',
      //   name: 'alarmdevice',
      //   meta: {
      //     title: '设备状态',
      //     auth: true
      //   },
      //   component: _import('alarm/device')
      // },
      // {
      //   path: 'alarm/voltage',
      //   name: 'alarmvoltage',
      //   meta: {
      //     title: '越限预警',
      //     auth: true
      //   },
      //   component: _import('alarm/voltage')
      // },
      // {
      //   path: 'alarm/increase',
      //   name: 'alarmincrease',
      //   meta: {
      //     title: '增幅指标',
      //     auth: true
      //   },
      //   component: _import('alarm/increase')
      // },
      // {
      //   path: 'report/device',
      //   name: 'reportdevice',
      //   meta: {
      //     title: '设备能耗',
      //     auth: true
      //   },
      //   component: _import('report/device')
      // },
      // {
      //   path: 'report/building',
      //   name: 'reportbuilding',
      //   meta: {
      //     title: '区域能耗',
      //     auth: true
      //   },
      //   component: _import('report/building')
      // },
      // {
      //   path: 'report/total',
      //   name: 'reporttotal',
      //   meta: {
      //     title: '总体报表',
      //     auth: true
      //   },
      //   component: _import('report/total')
      // },
      // 系统 前端日志
      // {
      //   path: 'log',
      //   name: 'log',
      //   meta: { title: '前端日志', auth: true },
      //   component: _import('system/log'),
      //   componentUrl: 'system/log'
      // },
      // // 刷新页面 必须保留
      // {
      //   path: 'refresh',
      //   name: 'refresh',
      //   hidden: true,
      //   component: _import('system/function/refresh'),
      //   componentUrl: 'system/function/refresh'
      // },
      // // 页面重定向 必须保留
      // {
      //   path: 'redirect/:route*',
      //   name: 'redirect',
      //   hidden: true,
      //   component: _import('system/function/redirect'),
      //   componentUrl: 'system/function/redirect'
      // }
    ]
  }
]

/**
 * 在主框架之外显示
 */
const frameOut = [
  // 登录
  {
    path: '/login',
    name: 'login',
    component: _import('system/login')
  },
  // 设备信息
  {
    path: '/meterinfo',
    name: 'meterinfo',
    component: _import('operationManagement/meter')
  }
]

/**
 * 错误页面
 */
const errorPage = [
  {
    path: '*',
    name: '404',
    component: _import('system/error/404')
  }
]

/**
 * 大屏
 */
const screenPage = [
  {
    path: '/screen',
    name: 'screen',
    meta: {
      auth: true
    },
    component: _import('screen/index')
  },
  {
    path: '/dashboard',
    name: 'dashboard',
    meta: {
      auth: true
    },
    component: _import('screen/dashboard')
  }
]

// 导出需要显示菜单的
export const frameInRoutes = frameIn

let frameInRoutesNew = sessionStorage.getItem('frameInRoutesNew')
if (frameInRoutesNew) {
  frameInRoutesNew = JSON.parse(frameInRoutesNew)
  console.log(frameInRoutesNew)
  frameIn[0].children = frameInRoutesNew[0].children.map(item => {
    return {
      ...item,
      component: _import(item.componentUrl)
    }
  })
}

// 重新组织后导出
export default [
  ...frameIn,
  ...frameOut,
  ...errorPage,
  ...screenPage,
  
  // debug
  {
    path: '/reportPrint',
    name: 'reportPrint',
    component: _import('components/reportPrint')
  },
  {
    path: '/screenV2',
    name: 'screenV2',
    component: _import('system/index/page-component')
  }
]
